#include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
int fa[maxn],p[maxn]; 
int find(int x)
{
	while(x!=fa[x])
		x=fa[x];
	return x;
}
void u(int a,int b)
{
	int fx=find(a);
	int fy=find(b);
	if(fx!=fy)
		fa[fx]=fy;
}
int main()
{
	int m,n;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		fa[i]=i;
	for(int i=0;i<m;i++){
		int op,a,b;
		scanf("%d%d%d",&op,&a,&b);
		if(op==1)
			u(a,b);
		else if(find(a)==find(b))
			printf("YES\n");
		else 
			printf("NO\n");
	}
	return 0;
}
